home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Games / flying-6.11 / curling.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-30  |  1.5 KB  |  83 lines

  1. #ifndef _curling_h
  2. #define _curling_h
  3.  
  4. #ifndef _vec2_h
  5. #    include "vec2.h"
  6. #endif
  7. #ifndef _game_h
  8. #    include "game.h"
  9. #endif
  10.  
  11. #define    TEAMS        2
  12. #define    CURLS        4
  13.  
  14. class BallMover;        // forward
  15. class Goal;
  16. class StaticBall;
  17. class Wall;
  18.  
  19. class Curling : public Game {
  20.     public:
  21.         static Real    TableWidth;
  22.         static Real TableHeight;
  23.  
  24.         Curling(double wx=TableWidth, double wy=TableHeight);
  25.         virtual ~Curling();
  26.  
  27.         virtual const Real & GetPresetA() const;
  28.         virtual const Real & GetPresetHaft() const;
  29.         virtual const Real & GetSlowGranularity() const;
  30.  
  31.         virtual const Real & GetNormalBallSize() const;
  32.  
  33.         virtual const Real AreaOffX() const;
  34.         virtual const Real AreaOffY() const;
  35.         virtual const Real AreaWidth() const;
  36.         virtual const Real AreaHeight() const;
  37.  
  38.         virtual void InitPlayground();
  39.         virtual void DrawBackground() const;
  40.  
  41.         void InitArea( double wx, double wy );
  42.         void InitTable();
  43.  
  44.         static Real PresetA;
  45.         static Real PresetHaft;
  46.         static Real SlowGranularity;
  47.  
  48.         static Real FrameOffset;
  49.         static Real GoalSize;
  50.  
  51.         static Real Offset;
  52.         static Real CurlRadius;
  53.         static Real CurlWeight;
  54.  
  55.         static Real    KeeperFrame;    
  56.         static Real KeeperHeight;
  57.  
  58.     protected:
  59.         Real area_off_x;
  60.         Real area_off_y;
  61.         Real area_width;
  62.         Real area_height;
  63.  
  64.         BallMover    *mcurl;
  65.  
  66.         ColorId        table_col;
  67.         ColorId        black_bg_col;
  68.         ColorId        red_bg_col;
  69.         ColorId        blue_bg_col;
  70.  
  71.         ColorId        curl_col[TEAMS];
  72.  
  73.     protected:
  74.         Vec2        mid;
  75.         Vec2        edge[4];
  76.         Goal        *goal;
  77.         Wall        *w[3];
  78.  
  79.         Ball        *curl[TEAMS][CURLS];
  80. };
  81.  
  82. #endif
  83.